#ifndef PROTOCOLOPLANO_H_
#define PROTOCOLOPLANO_H_

#include "Protocolo.h"
#include <string>
#include <list>



/*
 * @class ProtocoloPlano
 *
 * @brief Protocolo Plano utilizado para la comunicacion.
 *
 */
class ProtocoloPlano : public Protocolo
{
public:
	/**
	* Constructor
	*/
	ProtocoloPlano();

	/**
	 * Dado un Mensaje serializarlo utilizando el protocolo Plano
	 */
	virtual std::string serializar(const Mensaje& mensaje);

	/**
	 * Dado un string deserializarlo utilizando el protocolo Plano
	 */
	virtual Mensaje* deserializar(std::string& serializacion);

	virtual ~ProtocoloPlano(){};

private:
	MENSAJE_Types getTipoMensaje(std::string& serializacion);
};

#endif /* PROTOCOLOPLANO_H_ */
